﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Data.SqlClient;
using GestorDeFlotasDesktop.Classes;

namespace GestorDeFlotasDesktop.RegistrarViaje
{
    public partial class buscarChofer : Form
    {
        public GestorDeFlotasDesktop.RegistrarViaje.RegistrarViajes parentFrame;
        
        public buscarChofer()
        {
            InitializeComponent();
        }

        private void btnCerrar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtApellido.Text = string.Empty;
            txtNombre.Text = string.Empty;
            txtTelefono.Text = string.Empty;
            txtDNI.Text = string.Empty;
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            List<SqlParameter> Parameters = new List<SqlParameter>();

            if (txtDNI.Text == string.Empty)
                Parameters.Add(new SqlParameter("@chofer", DBNull.Value));
            else
                Parameters.Add(new SqlParameter("@chofer", txtDNI.Text));

            if (txtNombre.Text == string.Empty)
                Parameters.Add(new SqlParameter("@nombre", DBNull.Value));
            else
                Parameters.Add(new SqlParameter("@nombre", txtNombre.Text));

            if (txtApellido.Text == string.Empty)
                Parameters.Add(new SqlParameter("@apellido", DBNull.Value));
            else
                Parameters.Add(new SqlParameter("@apellido", txtApellido.Text));

            if (txtTelefono.Text == string.Empty)
                Parameters.Add(new SqlParameter("@telefono", DBNull.Value));
            else
                Parameters.Add(new SqlParameter("@telefono", txtTelefono.Text));

            SqlInterface.Conectar();
            SqlDataReader ChoferReader;
            ChoferReader = SqlInterface.ExecuteReader("SQUIRTLE.spBuscarChoferesHabilitados", CommandType.StoredProcedure, Parameters);
            if (ChoferReader.HasRows)
            {
                DataTable tablaResultado = new DataTable();
                tablaResultado.Load(ChoferReader);
                gridResultados.DataSource = tablaResultado;
            }
            else
            {
                MessageBox.Show("No hay chofer que cumpla con la búsqueda.");
            }
            SqlInterface.Desconectar();
        }

        private void btnSeleccionar_Click(object sender, EventArgs e)
        {
            if (gridResultados.SelectedRows.Count > 1)
            {
                MessageBox.Show("Solo esta permitido elegir un chofer.");
                return;
            }

            Chofer chofer = new Chofer();
            int index = gridResultados.SelectedCells[0].RowIndex;
            chofer.intDNI = Convert.ToInt32(gridResultados["CHOFER_DNI", index].Value);
            chofer.strNombre = gridResultados["CHOFER_NOMBRE", index].Value.ToString();
            chofer.strApellido = gridResultados["CHOFER_APELLIDO", index].Value.ToString();
            chofer.intTelefono = Convert.ToInt32(gridResultados["CHOFER_TELEFONO", index].Value);

            parentFrame.RegistrarChofer(chofer);
        }
    }
}
